<html>
<head>
<meta charset="utf-8">
<title>Regular Expressions in 10 minutes</title>

<!-- Attach necessary scripts -->
<script type="text/javascript" src="../jquery-1.8.2.min.js"></script>

<!-- Attach CSS -->
<style type="text/css">
body {
	font-family: "HelveticaNeue", "Helvetica-Neue", "Helvetica", "Arial",
		sans-serif;
}

.display {
	width: 900px;
	height: 600px;
}
</style>

</head>
<body>
	<div class="display"></div>
	
<script type="text/javascript">
	var displayer = {
		el : $('.display'),

		datas : 'Hello, my name is Ben. Please visit\n'
				+ 'my website at http://www.forta.com/.',

		parse : function(conf) {

			if (!conf) {
				console.log("데이터 없음");
				return;
			}

			for ( var n in conf) {
				if (conf.hasOwnProperty(n)) {
					this.show(conf[n].exec(this.datas));
				}
			}

		},

		show : function(str) {
			this.el.append($('<p>"' + str + '"</p>'));
		}
	};

	$(function() {

		var parse = {
			/* 텍스트로만 구성된 정규 표현식으로 예문의 Ben과 일치한다 */
			p9 : /Ben/,

			/* 대다수 정규 표현식 엔진은 기본으로 가장 처음 일치한 텍스트를 반환한다.
			 * 보통 첫번째 my만 일치(match)하고 두번째는 일치 하지 않는다. 
			 */
			p10ex1 : /my/,

			/* 대다수 정규 표현식 구현에서는 일치하는 목록을 모두 얻을 수 있다(대개 배열이나 다른 특별한 형태로 반환된다)
			 * 자바스크립트에서는 일치된 결과물을 모두 담은 배열을 반환하고자 할 때, g(global:전역)플래그를 사용한다.
			 */
			p10ex2 : /(my)/g
		};

		displayer.parse(parse);

	});
</script>

</body>
</html>
